#ifndef CHARACTERPOOL_H__
#define CHARACTERPOOL_H__

#include <map>
#include <string>

using std::map;
using std::string;

#include "EffectPool.h"
#include "Character.h"
#include "../Util/Pool.h"

class CharacterPool : public Pool<Character> {
private:
	map<string, SpellSet> spellSetPool;
	SpellPool& spellPool;

public:
	CharacterPool(SpellPool& spellPool) : Pool(), spellPool(spellPool) {};
	~CharacterPool() = default;

	virtual void load(istream&);
};

#endif //CHARACTERPOOL_H__